When a computer or other data processing system is first booted up, the operating system is not available to provide instructions for system operation. In the time interval between power on and operating system start up, firmware provides instructions to initialize the system.
System firmware includes instructions necessary to load portions of the operating system from a storage medium such as a hard disk into the system memory, as well as other instructions and data for initializing system components such as the main memory. Firmware is stored in a non-volatile medium such as flash memory. Flash memory is programmable non-volatile memory (i.e. it retains the stored information when the system is powered down but may be reprogrammed if desired).
System firmware is typically memory mapped. That is, a flash memory (or other) chip storing the firmware includes a hardware mechanism so that the instructions and data included in the firmware can be accessed via a standard processor memory read. Devices that are directly readable by the processor (memory mapped) are generally more expensive than devices which are not memory mapped.
Like reference symbols in the various drawings indicate like elements.